/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有，侵权必究！
 */

package cn.bigfire.wzdj.util;


/**
 * @ IDE    ：IntelliJ IDEA.
 * @ Date   ：2019/9/27  16:44
 * @ Desc   ：常量
 * 常量存放位置说明
 * 1.配置常量：则写在配置文件中,需要时注入，如：支付回调，审核回调，等各种回调地址，写在配置文件中可保证不同环境下常量的可用性。
 * 2.通用常量：项目中多处用可能用到的常量，统一写在Constant中。
 * 3.特定常量：只有某个类会使用，其他地方基本不会用到的常量，写在类的开头即可。前提要确保这些常量在不同环境下均可用。如:邮件,短信,又拍云等
 */
public interface Constant {

    //page
    /** 当前页码 */
    String PAGE = "page";                                                                           //当前页码
    /** 每页个数 */
    String SIZE = "size";                                                                           //每页个数

    //order
    /** 升序 */
    String ASC = "asc";                                                                             //升序
    /** 逆序 */
    String DESC = "desc";                                                                           //逆序

    //Http请求方式
    /**
     * application/json
     * JSON格式
     * */
    String JSON = "application/json";                                                               // Request请求application/json编码      JSON格式

    /**
     * application/xml
     * XML格式
     * */
    String XML = "application/xml";                                                                 // Request请求application/xml编码       XML格式

    /**
     * text/xml
     * 普通文本或者网页格式
     * */
    String TEXT_XML = "text/xml";                                                                   // Request请求text/xml编码              普通文本或者网页格式

    /**
     * multipart/form-data
     * 文件上传格式
     * */
    String MULTIPART = "multipart/form-data";                                                       // Request请求form-data编码             文件上传格式

    /**
     * application/x-www-form-urlencoded
     * （url?name1=value1&name2=value2…）参数格式
     * */
    String FORM_URLENCODED = "application/x-www-form-urlencoded";                                   // Request请求x-www-form-urlencoded编码（name1=value1&name2=value2…）

    //系统信息
    /** 当前JAVA_HOME目录 */
    String JAVA_HOME = System.getProperty("java.home");                                             //当前JAVA_HOME目录
    /** 当前JAVA版本 */
    String JAVA_VERSION = System.getProperty("java.version");                                       //当前JAVA版本
    /** 当前系统名称 */
    String OS_NAME = System.getProperty("os.name");                                                 //当前系统名称
    /** 当前系统版本 */
    String OS_VERSION = System.getProperty("os.version");                                           //当前系统版本
    /** 当前系统用户 */
    String USER_NAME = System.getProperty("user.name");                                             //当前系统用户
    /** 当前用户目录 */
    String USER_HOME = System.getProperty("user.home");                                             //当前用户目录
    /** 当前项目所在目录 */
    String USER_DIR = System.getProperty("user.dir");                                               //当前项目所在目录
    /** 系统临时文件夹 */
    String OS_TMP_DIR = System.getProperty("java.io.tmpdir");                                       //系统临时文件夹

    //字符
    /**
     * 文件路径分割符
     * Unix "/"
     * Mac "/"
     * Windows "\"
     * */
    String FILE_SEPARATOR = System.getProperty("file.separator");                                   //文件路径分割符Unix "/"; Mac "/"; Windows "\"
    /**
     * 换行符
     * Unix "\n"
     * Mac "\r"
     * Windows "\r\n"
     * */
    String LINE= System.lineSeparator();                                                            //换行符 Unix "\n"; Mac "\r"; Windows "\r\n"
    /**
     * 换行符
     * Unix "\n"
     * Mac "\r"
     * Windows "\r\n"
     * */
    String ENTER = LINE;                                                                            //换行符 Unix "\n"; Mac "\r"; Windows "\r\n"
    /**
     * 制表符
     * "\t"
     * */
    String TAB = "\t";                                                                              //制表符 \t

    //DIR
    String DATA_DIR = USER_DIR + "/data/";                                                               //文件存储路径
    String DATA_TMP_DIR = DATA_DIR + "tmp/";                                                               //临时路径
    String DATA_BAK_DIR = DATA_DIR + "bak/";                                                               //备份路径
    String DATA_DOC_DIR = DATA_DIR + "doc/";                                                                  //文档路径
    String DATA_LOG_DIR = DATA_DIR + "log/";                                                                  //日志路径
    String DATA_SQL_DIR = DATA_DIR + "sql/";                                                                  //sql路径
    String DATA_CACHE_DIR = DATA_DIR + "cache/";                                                              //缓存路径
    String DATA_UPLOAD_DIR = DATA_DIR + "upload/";                                                            //上传路径
    String PROJECT_DIR = USER_DIR;
    String JAVA_DIR = USER_DIR + "/src/main/java/";
    String JAVA_RESOURCES_DIR = USER_DIR + "/src/main/resources/";
    String JAVA_RESOURCES_MAPPER_DIR = JAVA_RESOURCES_DIR + "mapper/";
    String JAVA_RESOURCES_STATIC_DIR = JAVA_RESOURCES_DIR + "static/";
    String JAVA_RESOURCES_TEMPLATE_DIR = JAVA_RESOURCES_DIR + "template/";
    String TEST_DIR = USER_DIR + "/src/test/";
    String TEST_RESOURCES_DIR = USER_DIR + "/src/test/resources/";

    //OSS
    String DEFAULT_AVATAR = "https://oss.timeory.com/share.png";
    String OSS_BASE_URL = "https://oss.timeory.com";
    String OSS_APP = "/timeory/timeoeybms/";
    String OSS_APP_FILE = "/timeory/timeoeybms/file/";
    String OSS_APP_FILE_QRCODE = "/timeory/timeoeybms/file/QRCode/";
    String OSS_APP_AVATAR = "/timeory/timeoeybms/avatar/";
    String OSS_APP_IMG_QRCODE = "/timeory/timeoeybms/img/qrcode/";

    //Redis Prefix
    String REDIS_PREFIX_SMS_CODE = "SMS_CODE_";
    String REDIS_PREFIX_ORDER_ID = "ORDER_ID_";


}
